Robotic apparatus, e.g., of the type making up remote autonomous agents, often act (or execute instructions) according to control software implementing one or more control algorithms. Those control algorithms transform input from, e.g., a user or sensors, into robotic action.
Robotic systems are increasingly called upon to perform ever more complicated types of tasks. Such tasks often require complex coordination amongst various elements of a robotic system. However, coordinating control amongst several robotic elements (e.g., a moving arm, tool attached to the arm, mobile base, legs, and so on) has proven difficult and remains computationally intensive. Of particular difficulty is the coordination of simultaneous control (e.g., to effect simultaneous motion) of one or more arms with one or more mobile bases based on a desired motion of, for example, one element of the system. Further, user interfaces for controlling such robotic apparatus can be limited in the information they provide to a user as the user attempts to direct the action of the robot.
Accordingly, there is a need for improved systems and methods for coordinating control of various elements making up a robotic apparatus, and for improved user interfaces for controlling robotic apparatus.